<script type='text/javascript' language='javascript'>
//VARS
var url_base = "{url_base}";
var quant_list = '{quant_list}'; // valor vindo do parser do controller

$(document).ready(function(){
   /**
    * Verifica se existe mensagem de erro de validação
    */
   if(($("#messege-alert").hasClass("erro") && window.location.toString() == url_base + 'editora/atualizar') || ($("#messege-alert").hasClass("aviso") && window.location.toString() == url_base + 'editora/atualizar')){
       show_form('edit');
   }else if(($("#messege-alert").hasClass("erro") && window.location.toString() == url_base + 'editora/cadastrar') || ($("#messege-alert").hasClass("aviso") && window.location.toString() == url_base + 'editora/cadastrar')){
       show_form('insert');
   }
   
   //Mascaras
   $('#telefone, #telefoneUpdate').mask("(099) 9999-9999");
   $('#site, #siteUpdate').bind('focus', function(e){
       if($.trim($(e.target).val())=='') $(e.target).val('http://');
   })
    
   /**
    * Filtrar dados do dataGrid pelo código
    */
   $(".codigo").click(function() {
        if(window.location.toString() == url_base + 'editora/listar/cod/1/' + quant_list){
            window.location = url_base + 'editora/listar/cod/2/' + quant_list;
        }else {
            window.location = url_base + 'editora/listar/cod/1/' + quant_list;
        }
       return false;
   });
   
   /**
    * Filtrar dados do dataGrid pelo nome
    */
   $(".nome").click(function() {
       if(window.location.toString() == url_base + 'editora/listar/nome/1/' + quant_list){
           window.location = url_base + 'editora/listar/nome/2/' + quant_list;
       }else {
           window.location = url_base + 'editora/listar/nome/1/' + quant_list;
       }
       return false;
   });
   
   /** Filtra dados QUANTIDADE **/
   $(".filter_quant").change(function() {
       window.location = url_base + 'editora/listar/cod/2/' + $(this).val();
       return false;
   });
   
    /**
     * fecha formulario
     */
    $('#bt_cancel').click(function(){
        $("#form-insert").fadeOut();
        scroll_to('#page-content');
    });
});


/**
 * Retirna do controller a editora selecionada para edição
 */
function get_publisher(codigo){
    $("#loading-data").fadeIn();
    
    $.ajax({
        url: '{url_base}editora/get_publisher',
        type:'POST',
        dataType: 'json',
        data: { idEditora: codigo },
        success: function(data){
            $("#loading-data").fadeOut();
            $('#messege-alert').fadeOut();
            $("#codigo").val(data.editora.id);
            $("#nome").val(data.editora.nome);
            $("#telefone").val(data.editora.telefone);
            $("#email").val(data.editora.email);
            $("#site").val(data.editora.site);
            
            show_form("edit");
        },
        error: function (data){ //Erro do back-end
            $("#loading-data").fadeOut();
            $("#form-insert").hide('slow');
            $("#show-alert").html(erro_message());
        }
    }); 
}

/**
 * Função par abrir o form Insert ou Update de acordo com o parametro
 * 
 * @param string Nome da ação
 * Podendo ser new, erro ou sucess
 */
function show_form(action) {
    if(action == "edit"){ // UPDATE data
        $("#bt_submit").val("Atualizar editora");
        $("#form-insert-editora").attr("action", "{url_base}editora/atualizar");
        $("#form-insert legend").html("<h3>Atualizar dados da editora</h3>");
    }else if(action == "insert"){
        $("#form-insert-editora").attr("action", "{url_base}editora/cadastrar");
        $("#form-insert legend").html("<h3>Cadastrar uma nova editora</h3>");
    }else{
        $("#bt_submit").val("Cadastrar editora");
        $("#form-insert-editora").attr("action", "{url_base}editora/cadastrar"); 
        $("#form-insert legend").html("<h3>Cadastrar uma nova editora</h3>");
        clear_form();
    }
    $("#form-insert").show('slow');
    $(".input1").focus();
    
    // Analisa se deve colocar a visão no content grid ou deixar no show-alert
    if($("#messege-alert").hasClass("erro") || $("#messege-alert").hasClass("aviso")) {
        // o foco fica na mensagem
    } else {
        scroll_to("#content-datagrid");
    }
}

/*
 * Carrega os dados da editora selecionada para remoção
 */   
function delete_publisher(codigo) {
    $("#loading-data").fadeIn();

    if(get_code().length > 1){
        $("#codigoDelete").val(get_code());
        $("#nomeDelete").val("");
        $("#loading-data").fadeOut();
        $("#inforDel").html('<p>Deseja realmente excluir as Editoras selecionadas?<br /><span style="color: #cc0000; font-size: 15px; font-weight: bold;">'  + get_code().length + ' no total.</span> <br />Uma vez excluído não será possível recuperar os dados.');
        open_dialog_delete();
    }else{
        $.ajax({
            url: '{url_base}editora/get_publisher',
            type:'POST',
            dataType: 'json',
            data: { idEditora: codigo },
            success: function(data){
                $("#loading-data").fadeOut();
                $('#messege-alert').fadeOut();
                $("#form-insert").hide('slow');

                $("#codigoDelete").val(data.editora.id);
                $("#nomeDelete").val(data.editora.nome);
                $("#inforDel").html('<p>Deseja realmente excluir a Editora:<br /><span style="color: #cc0000; font-size: 15px; font-weight: bold;">'  + data.editora.nome + '?' + '</span> <br />Uma vez excluído não será possível recuperar os dados.');

                open_dialog_delete();
            },
            error: function (data){ //Erro do back-end
                $("#loading-data").fadeOut();
                $("#form-insert").hide('slow');
                $("#show-alert").html(erro_message());
                scroll_to("#page-content");
            }
        });
    }
}

/*
 * DIALOG para confirmar remoção da editora
 */
function open_dialog_delete() {
    $(".dialog-excluir").dialog({
        height: 195,
        width: 420,
        resizable: false,
        draggable: true,
        modal: true,
        buttons: {
            'Sim': function() {
                $(this).dialog('close');
                $("#form-delete-editora")[0].submit();
            },
            'Não': function() {
                $(this).dialog('close');
            }
        }
    });
}

/*
 * Limpa campos do form
 */
function clear_form(){
    $("#nome, #telefone, #email, #site").val("");
}
</script>
<article>
    <div id="box-search">
        <form id="search" name="search" action="{url_base}editora/buscar/cod/2/{quant_list}">
            <input type="search" name="search_term" class="input_search" placeholder="Buscar editora pelo código ou nome"/>
            <a class="search_refresh" href="{url_base}editora">
                <img title="Atualiza página descartando a busca" align="center" src="<?php echo site_url('assets/img/refresh.png'); ?>"/>
            </a>
        </form>
    </div>
    <div id="filter_item">
        <i>Quantidade por página:</i>
        <form id="quant_list">
            <?php
            echo form_dropdown('filter_quant', array(10 => '10', 20 => '20', 30 => '30', 50 => '50'), isset($quant_list) ? $quant_list : '', 'class="filter_quant"');
            ?>
        </form>
    </div>
    <div id="datagrid">
        <table>
            <thead>
                <tr>
                    <th><input type="checkbox" value="1" id="select-all" name="select-all" title="Selecionar registros"></th>
                    <th><a href="" class="codigo">Código</a></th>
                    <th><a href="" class="nome">Nome</a></th>
                    <th>Telefone</th>
                    <th>E-Mail</th>
                    <th>Web Site</th>
                    <th colspan="3">Ação</th>
                </tr>
            </thead>
            <tfoot>
                <tr>
                    <td colspan="9">
                        <div id="paginacao">
                            <ul class="pagination">
                                {pagination}
                            </ul>
                        </div>
                        <div id="total-register">
                            Total: {total_rows}
                        </div>
                    </td> 
                </tr>
            </tfoot>					
            <tbody>
                {editoras}
                <tr class="pointer" ondblclick="get_publisher('{id}')">
                    <td width="10">
                        <input type="checkbox" name="cod[]" value="{id}" class="codigoId">
                    </td>
                    <td width="60">{id}</td>
                    <td>{nome}</td>
                    <td>{telefone}</td>
                    <td><a href="mailto:{email}" title="Escrever email para a editora: {nome}">{email}</a></td>
                    <td><a href="{site}" target="_blank" title="Ir para o site da editora: {nome}">{site}</a></td>
                    <td width="20">
                        <a title="Editar registro"  onclick="get_publisher('{id}')">
                            <img align="center" src="{url_base}/assets/img/edit.png"/>
                        </a>
                    </td>
                    <td width="20"> 
                        <a title='Excluir registro' onclick="delete_publisher('{id}')">
                            <img align="center" src="{url_base}/assets/img/delete.png"/>
                        </a>
                    </td>
                    <td width="20">
                        <a title="Buscar itens pela editora: {nome}" href="{url_base}item/buscar?search_term={nome}">
                            <img align="center" src="{url_base}/assets/img/search_item.png"/>
                        </a>
                    </td>
                </tr>
                {/editoras} <!-- END loop editoras -->
            </tbody>
        </table>
    </div> <!-- END of #datagrid -->
</article>
<button type="button" class="button" id="new-data" onclick="show_form();">Cadastrar uma nova editora</button>
<div id="main-content-datagrid">
    <div id="loading-data">
        <img src="{url_base}assets/img/loading.gif" width="220" height="20"/>
    </div>
    <div id="content-datagrid">
        <section id="form-insert">
            <form action="{url_base}editora/cadastrar" id="form-insert-editora" method="post" accept-charset="utf-8">
                <fieldset>
                    <legend><h3>Cadastrar Uma Nova Editora</h3></legend>
                    <div id="content_form">
                        <input type="hidden" name="codigo" id="codigo" value="<?php echo set_value('codigo'); ?>">
                        <label>
                            <p>Name da Editora*:</p>
                            <input class="input1" type="text" name="nome" id="nome" value="<?php echo set_value('nome'); ?>" autofocus required/>
                        </label>
                        <label>
                            <p>Telefone de contato:</p>
                            <input  type="text" name="telefone" id="telefone"  placeholder="Ex. (0XX) XXXX-XXXX" value="<?php echo set_value('telefone'); ?>"/>
                        </label>
                        <label>
                            <p>E-Mail:</p>
                            <input  type="email" name="email" id="email" value="<?php echo set_value('email'); ?>"/>
                        </label>
                        <label>
                            <p>Website:</p>
                            <input  type="url" name="site" id="site" placeholder="Ex. http://www.editora.com.br" value="<?php echo set_value('site'); ?>"/>
                        </label>
                        <input type="submit" value="Cadastrar Editora" id="bt_submit" class="button">&nbsp;
                        <a id="bt_cancel" class="button pointer">Cancelar</a>
                    </div>
                </fieldset>
            </form>
        </section>

        <section id="form-delete">
            <div class="dialogModal dialog-excluir">
                <h2>Atenção!</h2>
                <div id="inforDel"></div>    
            </div>
                <form action="{url_base}editora/excluir" id="form-delete-editora" method="post" accept-charset="utf-8">
                    <input type="hidden" id="codigoDelete" name="codigoDelete"/>
                    <input type="hidden" id="nomeDelete" name="nomeDelete"/>
                </form>
        </section>
    </div> <!-- END of #content-datagrid -->
</div> <!-- END of #main-content-datagrid -->
    